home *** CD-ROM | disk | FTP | other *** search
/ PC Elektro 3 / PC-Elektro-3-cd1.bin / KBan 2.0 / KBANSRC.LZH / SRC / PROG / VIEW / STBAR.CPP < prev   
Encoding:
C/C++ Source or Header  |  1997-08-23  |  3.1 KB  |  100 lines

  1. // the implementation of class CKBANView - status bar
  2. // Copyright (C) 1997 Kazutaka Hirata <khirata@jove.acs.unt.edu>
  3.  
  4. #include "../stdafx.h"
  5.  
  6. #include <stdio.h>
  7.  
  8. #include "../resource.h"
  9.  
  10. #include "../kbanview.h"
  11.  
  12. void CKBANView::OnUpdateIndicatorX(CCmdUI* pCmdUI)
  13. {
  14.   if(m_moved) {
  15.     KBAN_INFO& info = GetDocument()->kban_info();
  16.     XY ac;
  17.     info.grid().xy_pc2ac(m_pc_old, ac);
  18.     char str[100];
  19.     sprintf(str, "X: %4d.%03d", ac.x() / 1000, ac.x() % 1000);
  20.     pCmdUI->Enable(TRUE);
  21.     pCmdUI->SetText(str);
  22.   }
  23. }
  24.  
  25. void CKBANView::OnUpdateIndicatorY(CCmdUI* pCmdUI)
  26. {
  27.   if(m_moved) {
  28.     KBAN_INFO& info = GetDocument()->kban_info();
  29.     XY ac;
  30.     info.grid().xy_pc2ac(m_pc_old, ac);
  31.     char str[100];
  32.     sprintf(str, "Y: %4d.%03d", ac.y() / 1000, ac.y() % 1000);
  33.     pCmdUI->Enable(TRUE);
  34.     pCmdUI->SetText(str);
  35.   }
  36. }
  37.  
  38. void CKBANView::OnUpdateIndicatorLayer(CCmdUI* pCmdUI)
  39. {
  40.   KBAN_INFO& info = GetDocument()->kban_info();
  41.   const char* str;
  42.   switch(info.active_layer().get()) {
  43.     case LAYER_PATTERN_COMMON : str = "Layer: Pattern Common"; break;
  44.     case LAYER_PATTERN_TOP    : str = "Layer: Pattern Top";    break;
  45.     case LAYER_PATTERN_BOTTOM : str = "Layer: Pattern Bottom"; break;
  46.     case LAYER_SILK_TOP       : str = "Layer: Silk Top";       break;
  47.     case LAYER_SILK_BOTTOM    : str = "Layer: Silk Top";       break;
  48.     default                   : str = "Layer: Unknown";        break;
  49.   }
  50.   pCmdUI->Enable(TRUE);
  51.   pCmdUI->SetText(str);
  52. }
  53.  
  54. void CKBANView::OnUpdateIndicatorZoom(CCmdUI* pCmdUI)
  55. {
  56.   KBAN_INFO& info = GetDocument()->kban_info();
  57.   char str[100];
  58.   sprintf(str, "Zoom: %2d", info.grid().zoom_get());
  59.   pCmdUI->Enable(TRUE);
  60.   pCmdUI->SetText(str);
  61. }
  62.  
  63. void CKBANView::OnUpdateIndicatorGrid(CCmdUI* pCmdUI)
  64. {
  65.   KBAN_INFO& info = GetDocument()->kban_info();
  66.   GRID& grid = info.grid();
  67.   uint main = grid.get_main_grid_width();
  68.   uint sub  = grid.get_sub_grid_width();
  69.   uint div  = main / sub;
  70. #if 1
  71.   char str[100];
  72.   sprintf(str, "Grid: %4d / %2d", main, div);
  73. #else
  74.   switch(m_nGridID) {
  75.     case ID_SETUP_GRID_10_1 : str = "Grid: 1000 /  1"; break;
  76.     case ID_SETUP_GRID_10_2 : str = "Grid: 1000 /  2"; break;
  77.     case ID_SETUP_GRID_10_5 : str = "Grid: 1000 /  5"; break;
  78.     case ID_SETUP_GRID_10_A : str = "Grid: 1000 / 10"; break;
  79.     case ID_SETUP_GRID_17_1 : str = "Grid: 1778 /  1"; break;
  80.     case ID_SETUP_GRID_17_2 : str = "Grid: 1778 /  2"; break;
  81.     case ID_SETUP_GRID_25_1 : str = "Grid: 2540 /  1"; break;
  82.     case ID_SETUP_GRID_25_2 : str = "Grid: 2540 /  2"; break;
  83.     case ID_SETUP_GRID_25_2 : str = "Grid: 2540 /  4"; break;
  84.     case ID_SETUP_GRID_25_5 : str = "Grid: 2540 /  5"; break;
  85.     case ID_SETUP_GRID_25_A : str = "Grid: 2540 / 10"; break;
  86.     default                 : str = "Grid: Unknown"  ; break;
  87.   }
  88. #endif
  89.   pCmdUI->Enable(TRUE);
  90.   pCmdUI->SetText(str);
  91. }
  92.  
  93. void CKBANView::OnUpdateIndicatorCommand(CCmdUI* pCmdUI)
  94. {
  95.   char str[100];
  96.   sprintf(str, "Command: %s", m_current_mmi->get_name());
  97.   pCmdUI->Enable(TRUE);
  98.   pCmdUI->SetText(str);
  99. }
  100.